草庐IT

php - 匿名类构造

全部标签

c# - 如何创建一个属性名称动态确定的匿名对象?

给定一个值数组,我想创建一个具有基于这些值的属性的匿名对象。属性名称很简单"pN"其中N是数组中值的索引。例如给定object[]values={123,"foo"};我想创建匿名对象new{p0=123,p1="foo"};我能想到的唯一方法是使用switch或if链接到合理数量的参数来支持,但我想知道是否有更优雅的方法来做到这一点:object[]parameterValues=newobject[]{123,"foo"};dynamicvalues=null;switch(parameterValues.Length){case1:values=new{p0=parameterV

c# - TypeScript 中是否有类似于 C# 实现的 foreach 构造?

我非常喜欢在C#中为“for循环”使用foreach结构。我认为它非常干净、高效且可读。TypeScript中是否有类似的结构?例如,而不是这个:setAuthorFilters(selectedAuthors){selectedAuthors.forEach(x=>this.setAuthorFilter(x));this.updateUrl();}setAuthorFilter(selectedAuthor){this.vm.SelectAuthors=this.vm.SelectAuthors.filter(x=>x.id!==selectedAuthor.id);this.vm

c# - 用于缩进匿名方法的 ReSharper 配置?

如果我要求ReSharper重新格式化当前代码:SomeMethodThatIsGivenAnAnonymousMethod(delegate{Test();});然后它像这样重新格式化:SomeMethodThatIsGivenAnAnonymousMethod(delegate{Test();});我最多只能哄它把大括号和delegate关键字对齐。有什么方法可以让它缩进到原来的方式吗? 最佳答案 尝试格式化样式|其他|缩进匿名方法体。如果我关闭它,我会得到你描述的原始格式。 关于c

C# 服务 - OnStart() v 构造函数

我试图了解OnStart()和ServiceBase派生类中的构造函数之间的区别。从周围阅读看来,第一次启动服务时(打开机器后),构造函数被调用。此后,您可以根据需要多次停止和启动服务,但构造函数将不再被调用,每次只会调用OnStart()方法。谁能证实一下?谢谢 最佳答案 不要使用构造函数执行应该在OnStart中的处理。使用OnStart处理服务的所有初始化。构造函数在应用程序的可执行文件运行时调用,而不是在服务运行时调用。可执行文件在OnStart之前运行。例如,当您继续时,不会再次调用构造函数,因为SCM已将对象保存在内存中

C#调用基类构造函数

publicCArm(Vector3at,stringname):base(name){}除了:base(name)之外,还有其他方法可以在括号内调用基础父构造函数吗?我不确定这是否是另一种语言,但我记得在构造函数中使用类似super();的方法来调用基类。谢谢。 最佳答案 不可以,您不能在C#中的构造函数体内调用基类构造函数。您可能正在考虑Java的语法。您可以通过调用方法来模拟所需的行为。只需确保在调用虚拟方法时非常小心! 关于C#调用基类构造函数,我们在StackOverflow上

c# - 使用 TypeBuilder 为基类创建传递构造函数

假设我有一个SpaceShip类,如下所示:publicclassSpaceShip{publicSpaceShip(){}publicSpaceShip(IRocketFuelSourcefuelSource){}}我想使用TypeBuilder在运行时创建一个继承自SpaceShip的类型,并为SpaceShip中的每个类型定义一个构造函数。除了将参数传递给父级(“直通”构造函数)之外,我不需要构造函数实际做任何事情。例如,如果用C#表示,生成的类型将如下所示:publicclassSpaceShipSubClass:SpaceShip{publicSpaceShipSubClas

c# - 在父构造函数中设置窗口所有者时遇到问题

在WPF中,在父级的构造函数中将窗口的Owner属性设置为其父级有什么问题吗?应该没有吧?那么,为什么我会从以下代码中得到一个XamlParseException?publicpartialclassMainView:Window{privatereadonlyOwnedWindowowned;publicMainView(){InitializeComponent();owned=newOwnedWindow();owned.DataContext=DataContext;varwindow=GetWindow(this);owned.Owner=this;//Settingtowi

c# - 如何编辑 WPF 应用程序的 MainWindow 构造函数?

我的主窗口需要从一个对象订阅一些事件。在创建MainWindow之前初始化该对象。我想通过其构造函数将此对象传递给mainWindow。但是我不知道从哪里调用MainWindow构造函数。或者我尝试通过MainWindow的成员函数传递对象,但是app.MainWindow在app.Run()之前是null叫。app.Run()被调用后,直到程序终止,代码才会返回。另一种可能性是将对象存储在静态类中并让MainWindow访问它,但这似乎不必要地复杂。我意识到我可以只在MainWindow构造函数中创建对象,但这意味着还必须在其中放置很多其他代码,几乎是整个Main函数。如何将此对象传

c# - 在仅由构造函数调用的私有(private)方法中分配只读变量的值

C#编译器给我以下错误CS0191:无法将只读字段分配给(构造函数或变量初始值设定项中除外)我是否必须将代码(在我的私有(private)函数中)移动到构造函数中?这听起来很尴尬。请注意,私有(private)方法仅供构造函数调用。我希望有某种属性可以用来标记相应的方法。 最佳答案 不管其他帖子怎么说,是实际上有一种(有点不寻常的)方法来做到这一点并在方法中实际赋值:publicclassFoo{privatereadonlystring_field;publicFoo(stringfield){Init(out_field,fie

c# - 具有匿名类型和用户定义类型的 LINQ 选择查询

匿名类在C#中具有只读属性。这通常用于在linqselect查询中声明以从数据库中获取特定值。在我的代码中,我有以下查询。让我困惑的是使用new语句选择匿名类的新对象。我有一个模型类StudentClerkshipsLogModel。当我使用模型名称时,查询结果允许编辑。varquery=(fromentityin_tblStudentClerkshipsLog.GetQueryable()whereentity.StudentID==intStudentIDselectnewStudentClerkshipsLogModel{StudentClerkshipID=entity.Stu